package syntaxtree;
import visitor.TranslateVisitor;
import visitor.Visitor;
import visitor.TypeVisitor;

public class MethodDecl {
	/***/
	public int beginLine, endLine, beginColumn, endColumn;
	/***/
	public Type t;
	/***/
	public Identifier i;
	/***/
	public FormalList fl;
	/***/
	public VarDeclList vl;
	/***/
	public StatementList sl;
	/***/
	public Exp e;

	/**
	 * 
	 * */
	public MethodDecl(Type at, Identifier ai, FormalList afl, VarDeclList avl, StatementList asl, Exp ae) {
	    t=at; i=ai; fl=afl; vl=avl; sl=asl; e=ae;
	}
	 
	/**
	 * 
	 * */
	public void accept(Visitor v) {
	    v.visit(this);
	}
	
	/**
	 * 
	 * 
	 * */
	public Type accept(TypeVisitor v) {
	    return v.visit(this);
	}
	  
	/**
	 * 
	 * 
	 * */
	public translate.activationRegister.util.Exp accept(TranslateVisitor v){
		  return v.visit(this);
	}
}
